package gov.mmgt.netmanager.operate;

import java.util.List;

import gov.mmgt.netmanager.common.exception.MyException;
import gov.mmgt.netmanager.common.util.StringUtil;
import gov.mmgt.netmanager.service.AccountService;
import gov.mmgt.netmanager.vo.AccountVO;

/**
 * 
 * Copyright (c) 2014,niux<br>
 * All rights reserved.<br>
 * 
 * 文件名称：Login.java<br>
 * 摘    要：登录操作类<br>
 * <br>
 * 当前版本：<br>
 * 作    者：铭显 Email: <a href="mailto:liangmingxian@gmail.com">liangmingxian@gmail.com</a><br>
 * 完成日期：@since 2014-5-19<br>
 * <br>
 * 取代版本：<br>
 * 原作者  ：<br>
 * 完成日期：@since Oct 22, 2009<br>
 */
public class Login {
	private AccountService accountService;
	
	public Login() {
		accountService = new AccountService();
	}
	
	/**
	 * 
	 * 方法概述：登录系统操作
	 * 描述：登录系统操作
	 * @param account
	 * @param password
	 * @throws MyException
	 * 返回类型：void
	 * 修改人：梁铭显
	 * 修改时间：2014-5-19
	 */
	public void login(String account, String password) throws MyException {
		List<AccountVO> accounts = accountService.findByAccount(account);
		
		//判断用户是否存在
		if(accounts.isEmpty()) {
			MyException ex = new MyException(account + "用户不存在！");
			throw ex;
		}
		
		//判断账户是否唯一
		if(accounts.size() > 1) {
			MyException ex = new MyException("用户数据出错，请与作者联系！错误代码：1007");
			throw ex;
		}
		
		//判断密码是否正确
		if(!StringUtil.MD5Encode(password).equals(accounts.get(0).getPassword())) {
			MyException ex = new MyException("密码错误，请重新输入！");
			throw ex;
		}
	}
}
